<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/1/23 0023
 * Time: 13:59
 */

namespace App\Repositories\Admin;


use App\Models\Admin\Rank;

class RankRepository
{
    /*
   * @ 通过等级id查询等级信息
   * @ 返回等级相关的完整信息
   */
    public function getById($id){
        return Rank::where('rank_id',$id)->first();
    }
    /*
   * @ 通过等级type查询等级信息
   * @ 返回等级相关的完整信息
   */
    public function getByType($type){
        return Rank::where('rank_type',$type)->orderBy('rank_number','asc')->get();
    }
    /*
     * @ 查询所有等级信息
     * @ 返回等级相关的完整信息
     */
    public function getAll(){
        return Rank::get();
    }
    /*
      * @ 通过等级等级数查询等级信息
      * @ 返回等级相关的完整信息
      */
    public function getByRankNumber($type,$rankNumber){
        return Rank::where('rank_number',$rankNumber)->
                where('rank_type',$type)->
                first();
    }
    /**
      * @ 通过等级等级数查询等级信息
      * @ 返回等级相关的完整信息
      */
    public function getByTypeRankNumberStatus($type,$rankNumber,$status){
        return Rank::where('rank_type',$type)
            ->where('rank_number',$rankNumber)
            ->where('rank_status',$status)
            ->first();
    }
    /*
     * @ 通过多条件查询等级
     */
    public function getByMore($where){
        return Rank::where($where)->with('Ranks')->get();
    }

    /**
     * @ 添加等级的信息
     * @ 返回的是 User模型对象
     */
    public function createRank($rank){
        return Rank::create($rank);
    }
    /**
     * 更新数据
     */
    public function update($id,$data){
        $Rank = Rank::find($id);
        return $Rank->update($data);
    }
    /**
     * 删除数据
     */
    public function delete($id){
        $Rank = Rank::find($id);
        return $Rank->delete();
    }
    /**
     * 修改Rank_check字段的值
     */
    public function updateStatus($id,$value){
        $Rank = Rank::find($id);
        $Rank->Rank_status = $value;
        return $Rank->save();
    }
}